In computer programming, an entry point is a memory address, corresponding to a point in the code of a computer program which is intended as destination of a long jump, be it internal or external.
In most of today's popular computer systems, such as Microsoft Windows and Unix, a computer program usually only has a single entry point. In C and C++ programs this is the main()
function.
Historically, and in some contemporary legacy systems, such as VMS and OS/400, computer programs have a multitude of entry points, each corresponding to the different functionalities of the program. The usual way to denote entry points, as used system-wide in VMS and in PL/I and MACRO programs, is to append them at the end of the name of the executable image, delimited by a dollar sign ($) i.e. directory.exe$make
. The Apple 1 computer also used this to some degree. For example an alternative entry point in Apple 1 BASIC would keep the BASIC program , useful when the reset button was accidentally pushed.